package model

import "gorm.io/gorm"

//订单表
//优惠券表
//商品表
//订单商品表
//积分表
//用户表
//支付表

type SysProduct struct {
	gorm.Model
	Name  string  `json:"name"`
	Price float64 `json:"price"`
	Buy   int     `json:"buy"` //月售
	Img   string  `json:"img"`
	Types string  `json:"types"`
	Num   int     `json:"num"`
}

func (s *SysProduct) TableName() string {
	return "ao_product"
}

type SysOrder struct {
	gorm.Model
	Sn              string            `json:"sn"`
	UserID          int               `json:"user_id"`
	TotalNum        int               `json:"total_num"`     //订单商品的总数
	TotalPrice      float64           `json:"total_price"`   //订单总结
	CouponID        int               `json:"coupon_id"`     //优惠券ID
	CouPonPrice     float64           `json:"cou_pon_price"` //优惠券金额
	PayID           int               `json:"pay_id"`        //支付ID
	PayStatus       int               `json:"pay_status"`    //支付状态
	Status          int               `json:"status"`        //订单状态
	SysOrderProduct []SysOrderProduct `gorm:"-"`
}

func (s *SysOrder) TableName() string {
	return "ao_order"
}

type SysOrderProduct struct {
	gorm.Model
	OrderID   int     `json:"order_id"`
	ProductID int     `json:"product_id"`
	Name      string  `json:"name"`
	Price     float64 `json:"price"`
	Buy       int     `json:"buy"` //月售
	Img       string  `json:"img"`
	Types     string  `json:"types"`
	Notes     string  `json:"notes"` //添加备注
}

func (s *SysOrderProduct) TableName() string {
	return "ao_order_product"
}

type SysCoupon struct {
	gorm.Model
	UserId   int32   `json:"user_id"`   //用户ID
	Types    int     `json:"types"`     //类型 现金券 满多少可以使用
	Status   int     `json:"status"`    //使用状态
	Price    float64 `json:"price"`     //优惠券金额
	Name     string  `json:"name"`      //优惠券名称
	MinPrice float64 `json:"min_price"` //最低多少可以使用优惠券
}

func (s *SysCoupon) TableName() string {
	return "ao_coupon"
}

type Pay struct {
	gorm.Model
	Types int `json:"types"` //支付方式
	Price float64
}

func (s *Pay) TableName() string {
	return "ao_pay"
}

type Score struct {
	gorm.Model
	Scores int `json:"scores"`
	UserID int `json:"user_id"`
}

func (s *Score) TableName() string {
	return "ao_score"
}
